.\" -*- nroff -*-
.\"
.\" Copyright (c) 1996 Doug Rabson
.\"
.\" All rights reserved.
.\"
.\" This program is free software.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd December 31, 2020
.Dt VOP_PATHCONF 9
.Os
.Sh NAME
.Nm VOP_PATHCONF
.Nd return POSIX pathconf information
.Sh SYNOPSIS
.In sys/param.h
.In sys/vnode.h
.In sys/unistd.h
.Ft int
.Fn VOP_PATHCONF "struct vnode *vp" "int name" "long *retval"
.Sh DESCRIPTION
The arguments are:
.Bl -tag -width retval
.It Fa vp
The vnode to get information about.
.It Fa name
The type of information to return.
.It Fa retval
The place to return the information.
.El
.Pp
The value of
.Fa name
specifies what should be returned:
.Bl -tag -width _PC_CHOWN_RESTRICTED
.It Dv _PC_LINK_MAX
The maximum number of links to a file.
.It Dv _PC_NAME_MAX
The maximum number of bytes in a file name.
.It Dv _PC_PATH_MAX
The maximum number of bytes in a pathname.
.It Dv _PC_PIPE_BUF
The maximum number of bytes which will be written atomically to a pipe.
.It Dv _PC_CHOWN_RESTRICTED
Return 1 if appropriate privileges are required for the
.Xr chown 2
system call, otherwise 0.
.It Dv _PC_NO_TRUNC
Return 1 if file names longer than
.Dv KERN_NAME_MAX
are truncated.
.El
.Sh LOCKS
The vnode will be locked on entry and should remain locked on return.
.Sh RETURN VALUES
If
.Fa name
is recognized,
.Fa *retval
is set to the specified value and zero is returned, otherwise
.Er EINVAL
is returned.
.Sh SEE ALSO
.Xr pathconf 2 ,
.Xr vnode 9
.Sh AUTHORS
This manual page was written by
.An Doug Rabson .
